<?php

namespace app\common\lib;

class Check
{
    /**
     * 验证邮箱是否有效
     * @param $email
     * @return bool
     */
    public static function checkEmail($email) {
        return (bool)filter_var($email, FILTER_VALIDATE_EMAIL);
    }

    /**
     * 验证手机号格式是否正确
     * @param $phone
     * @return bool 如果手机号格式正确返回 true，否则返回 false
     */
    public static function validatePhoneNumber($phone) {
        // 定义手机号格式的正则表达式
        $pattern = '/^1[3456789]{1}\d{9}$/';
        // 使用 preg_match 函数进行匹配
        if (!preg_match($pattern, $phone)) {
            return false;
        }
        return true;
    }

    /**
     * 根据权限值返回对应的员工类型数组。
     *
     * @param int $privilege 权限值，客服:1, 配送员:2, 收银员:4, 出纳:8, 财务:16, 库管:32, 销售:64, 调度:128, 拉货人:256
     * @return array 员工类型数组
     */
    public static function checkPermissions($privilege) {
        $privilege_arr = [
            1 => '客服',
            2 => '配送员',
            4 => '收银员',
            8 => '出纳',
            16 => '财务',
            32 => '库管',
            64 => '销售',
            128 => '调度',
            256 => '拉货人'
        ];
        $result = [];
        foreach ($privilege_arr as $key => $value) {
            // 使用位与运算检查权限是否被设置
            if (($key & $privilege) !== 0) {
                $result[] = (string)$key; // 这里(string)$key可能是多余的，除非你有特殊理由需要字符串键
            }
        }
        return $result;
    }
}
